package com.liu.algorithm.sort.radix;

/**
 * 基数排序
 *
 * @author liubo
 */
public class RadixSort {

    public static void radixSort(int[] arr) {
        if (arr == null) return;
        // 找到最大值
        int max = 0;
        for (int value : arr) {
            if (Math.abs(value) > max) {
                max = Math.abs(value);
            }
        }
        // 计算最大长度
        int maxDigitLength = 0;
        while (max != 0) {
            maxDigitLength++;
            max /= 10;
        }
        RadixSortMSD.radixSort(arr, 0, arr.length - 1, maxDigitLength);
    }

}
